home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / utils / file / logiso.000 / logiso / Utils / RCS / README,v < prev    next >
Encoding:
Text File  |  1995-03-24  |  22.7 KB  |  802 lines

  1. head    1.7;
  2. access;
  3. symbols
  4.     VER_0_3:1.7
  5.     VER_0_2:1.6;
  6. locks; strict;
  7. comment    @# @;
  8.  
  9.  
  10. 1.7
  11. date    95.03.24.11.43.35;    author coulter;    state Exp;
  12. branches;
  13. next    1.6;
  14.  
  15. 1.6
  16. date    95.03.10.02.42.22;    author coulter;    state Exp;
  17. branches;
  18. next    1.5;
  19.  
  20. 1.5
  21. date    95.03.01.07.10.23;    author coulter;    state Exp;
  22. branches;
  23. next    1.4;
  24.  
  25. 1.4
  26. date    95.02.28.05.53.16;    author coulter;    state Exp;
  27. branches;
  28. next    1.3;
  29.  
  30. 1.3
  31. date    95.02.19.16.06.41;    author coulter;    state Exp;
  32. branches;
  33. next    1.2;
  34.  
  35. 1.2
  36. date    95.02.19.00.04.00;    author coulter;    state Exp;
  37. branches;
  38. next    1.1;
  39.  
  40. 1.1
  41. date    95.02.18.09.23.46;    author coulter;    state Exp;
  42. branches;
  43. next    ;
  44.  
  45.  
  46. desc
  47. @README file for logiso covers kernel changes and Utils.
  48. @
  49.  
  50.  
  51. 1.7
  52. log
  53. @Checkin version for 0.3 distribution.
  54. @
  55. text
  56. @/usr/src/linux/fs//Utils/README
  57. logiso - isofs, iso-9660 file activity logging
  58. Author: Michael Coulter        coulter@@cup.hp.com
  59. (C) Copyright 1995 by Michael Coulter.  All rights reserved.
  60.  
  61. Overview:
  62. Installation:
  63.    Kernel changes:
  64.       Turning off logging:
  65.    Logiso utilities:
  66.       Setting up find_links:
  67.       The config file:
  68.       The cd_files file:
  69.       Setting up the mirror directory:
  70.       Environment variables:
  71. Using the logiso utilities:
  72.    Using logiso_copy:
  73.    Using logiso_get:
  74.    Using logiso_init:
  75.    Using logiso_preview:
  76.    Using logiso_stop:
  77. Copying:
  78. Disclaimer:
  79. Acknowledgements:
  80. History:
  81. Bugs:
  82.  
  83.  
  84. Overview:
  85.  
  86.    In most of what follows, it is presumed that you are executing commands
  87.    as root.
  88.  
  89.    This package provides a facility to help you migrate to a hard disk
  90.    the files which you use on a cd-rom and use symbolic links for the
  91.    files which you don't use.
  92.  
  93.    The logiso package contains changes to make to the isofs file system
  94.    to provide logging of disk activity on an iso-9660 cd-rom file system.
  95.    The package also contains utilities to migrate logged files to your
  96.    hard disk.
  97.  
  98.    The logging facility is on by default, but you can use an ioctl call
  99.    to turn off logging and free up the kernel buffers (about 40K).  See
  100.    "Kernel changes".  The logiso_stop command can be used to turn off
  101.    logging.
  102.  
  103.    Once you have installed it, a typical usage scenario would be:
  104.  
  105.       1. You perform an operation and notice cd-rom activity.  You decide
  106.          that you want to be able to do this operation without accessing
  107.          the cd-rom.
  108.  
  109.       2. Clear the existing log so that you won't install other files.
  110.          This will also start logging if it was turned off.
  111.          Execute:
  112.  
  113.              logiso_get /mount/path/cd-rom > /dev/null
  114.  
  115.          or (slower to execute, but easier to type):
  116.  
  117.              logiso_preview > /dev/null
  118.  
  119.       3. Perform the operation again.  Even though the cd-rom light doesn't
  120.          go on because the blocks are in the memory buffer, the cd-rom 
  121.          file activity is still logged.
  122.  
  123.       4. If you want to see what you are going to install, execute:
  124.  
  125.               logiso_preview 
  126.  
  127.          to print a list of the files and directories that will be copied
  128.          to your hard disk.  This empties the log, so you must repeat 
  129.          step 3 before proceeding with step 5.
  130.  
  131.       5. Install the files which were logged:
  132.  
  133.               logiso_copy
  134.  
  135.  
  136. Installation:
  137.  
  138.    First make sure that the following commands are already installed
  139.    on your hard disk or the logiso_copy script will fail in the middle
  140.    of installation when it tries to install a command:
  141.  
  142.        cp
  143.        ln
  144.        mkdir
  145.        mv
  146.        rm
  147.  
  148.    Also, add /usr/src/linux/fs/isofs/Utils to your (and root's) path string.
  149.  
  150.    Installing the distributed files:
  151.  
  152.       Unpack the tar file while in the /usr/src/linux/fs/isofs directory.
  153.       The directories RCS and Utils will be created.  
  154.  
  155.       Follow the directions in the subsections below to complete the
  156.       installation.
  157.  
  158.    Kernel changes:
  159.  
  160.       The kernel changes implement three ioctl calls for the isofs file
  161.       system (used to access iso-9660 file systems on a cd-rom).  The
  162.       three calls are:
  163.  
  164.      ISO_IOC_GETLOGSIZE returns the size of the buffer returned by
  165.            ISO_IOC_READLOG.  It also starts logging if it was off.
  166.  
  167.      ISO_IOC_READLOG is given a pointer to a buffer and fills that buffer
  168.            with log information.  See ioctl.c and iso_fs.h and
  169.            logiso_get.c.
  170.  
  171.      ISO_IOC_STOPLOG turns off logging and frees up the kernel buffers
  172.            (about 40K bytes) which hold the log information.
  173.  
  174.  
  175.       The logging facility is initially on, but the kernel buffers are
  176.       only allocated when the first event is logged.
  177.  
  178.       Compare your source files against the base versions of the files
  179.       with rcs histories in /usr/src/linux/fs/isofs/RCS.  If the files
  180.       are the same, you can use the last version of the file.  If not,
  181.       make the corresponding changes in your files.  ioctl.c is a new
  182.       file.
  183.  
  184.       Re-compile the kernel and boot with the new kernel after reading
  185.       the following section, "Turning off logging".
  186.  
  187.       Turning off logging:
  188.  
  189.          Once you have gotten settled in, you will want to arrange to
  190.          turn off logging after your system has re-booted.  Here
  191.          are the lines that I added to /etc/rc.d/rc.local:
  192.  
  193.             # Turn off logging after waiting for the boot process to quiet down.
  194.             if [ 0 = 0 ]
  195.             then
  196.             (sleep 20
  197.              /usr/src/linux/fs/isofs/Utils/logiso_get -v > /tmp/last_isolog 2>&1
  198.              /usr/src/linux/fs/isofs/Utils/logiso_stop >> /tmp/last_isolog 2>&1
  199.         ) &  > /dev/null 2>&1
  200.         fi
  201.  
  202.          The "0 = 0" test makes it easy to turn this code off by changing
  203.          the test to "0 = 1".
  204.  
  205.  
  206.    Logiso utilities:
  207.  
  208.       In the /usr/src/linux/fs/isofs/Utils directory, execute:
  209.  
  210.               make
  211.  
  212.       Setting up find_links:
  213.  
  214.          The find_links script is used by the check_links script to
  215.          find symbolic links.  If you want to execute find_links
  216.          against "/", you may need to edit find_links to prune certain
  217.          directories on your system or make your own find_links script
  218.          and enter its path in the config file.
  219.  
  220.       The config file:
  221.  
  222.      Edit the file config to match your system requirements.
  223.  
  224.      Basically you need to tell the utilities where the cd-rom is
  225.      mounted and what directory will mirror the cd-rom.
  226.  
  227.      I recommend that you use a dedicated directory to mirror the
  228.      cd-rom rather than using the root directory to mirror the
  229.      cd-rom.  It will make it easier to account for disk space usage
  230.      and to back out decisions you make to migrate files to your
  231.      hard disk.
  232.  
  233.      Here is the setup I use:  The Walnut Creek CD-ROM edition of
  234.      Yggdrasil Plug-and-Play Linux installs itself with /system_cd
  235.      as the mount point of the cd-rom.  I moved the mount point to
  236.      /cdmnt and made /system_cd the mirror directory.  It is a good
  237.      idea to have the mount point in the same directory as the
  238.      original mount point so that relative paths like
  239.      ../../var will get to the right place.
  240.  
  241.      The basic scheme is that the only links to the cd-rom are from
  242.      paths or directories below the mirror directory to the real
  243.      file or directory (not a link) on the cd-rom.  All other
  244.      links go through the mirror directory.
  245.  
  246.      If you have multiple cd-rom drives or want to mirror different
  247.      cd volumes with separate mirror directories, you can have
  248.      different config files with different prefixes.  The commands
  249.      which use the config file have an optional pair of parameters:
  250.  
  251.          -d config_prefix
  252.  
  253.          For example,
  254.  
  255.              logiso_copy -d m2
  256.  
  257.          would use the m2config config file which could specify a different
  258.          mount point, mirror directory and cd_files file.
  259.  
  260.       The cd_files file:
  261.  
  262.          The cd_files file contains a list of all the files on the
  263.          cd-rom and the inode number of each file.  The path to the
  264.          cd_files file is set in the config file.  In the config file
  265.          provided, the name of the file is "cd_files" in the isofs/Utils
  266.          directory.
  267.  
  268.          If you are want to save disk space, you can compress the
  269.          cd_files file with gzip.  It will be uncompressed for use.
  270.          This will take some time.  If you are using logiso_copy
  271.          frequently, you will want to uncompress the file.
  272.  
  273.       Setting up the mirror directory:
  274.  
  275.          Once you have set up the config file, you can initialize the
  276.          mirror directory by executing:
  277.  
  278.              logiso_init
  279.  
  280.          WARNING: logiso_init will remove the mirror directory and 
  281.          everything below it (unless your mirror directory is "/").
  282.  
  283.          Logiso_init will create the mirror directory and populate it
  284.          with symbolic links to everything in the cd mount point.
  285.  
  286.          You are now ready to use the utilities.  See the scenario in the
  287.          "Overview" section and the descriptions in the following
  288.          "Using the logiso utilities" section.
  289.  
  290.  
  291. Using the logiso utilities:
  292.  
  293.    Read over the scenario described in the "Overview" section. 
  294.  
  295.    Note that the log will only hold about 5,000 entries.  The log is
  296.    flushed when it fills, so don't try to do too much work before
  297.    you use logiso_copy.  In any case, you can repeat the operation
  298.    and logiso_copy to get files that were missed on the first round.
  299.  
  300.    See the section, "The config file" for a discussion of the 
  301.    "-d config_prefix" option which appears in a number of the commands.
  302.  
  303.  
  304.    Using logiso_copy:
  305.  
  306.       USAGE: logiso_copy [ -d config_prefix ]
  307.  
  308.       Copies the files or directories of the logged inodes to the 
  309.       corresponding location below the mirror directory.
  310.  
  311.       This command will empty the log.  It will also turn on logging
  312.       if it was turned off with logiso_stop.
  313.  
  314.  
  315.    Using logiso_get:
  316.  
  317.       USAGE: logiso_get  [ -v ] cd_mount_point [ log_file ]
  318.  
  319.       Get the isofs usage log and place it in log_file.  The log is written
  320.       to stdout if log_file is not given.
  321.  
  322.       This command will empty the log.  It will also turn on logging
  323.       if it was turned off with logiso_stop.
  324.  
  325.  
  326.    Using logiso_init:
  327.  
  328.       USAGE: logiso_init [ -d config_prefix ]
  329.  
  330.       Initialize the mirror directory to mirror the top level of the
  331.       mount point directory.
  332.  
  333.       WARNING: logiso_init will remove the mirror directory and 
  334.       everything below it (unless your mirror directory is "/").
  335.  
  336.  
  337.    Using logiso_preview:
  338.  
  339.       USAGE: logiso_preview  [ -d config_prefix ]
  340.  
  341.       List the files that would have been installed by logiso_copy.
  342.       This command will empty the log.  It will also turn on logging
  343.       if it was turned off with logiso_stop.
  344.  
  345.  
  346.    Using logiso_stop:
  347.  
  348.        USAGE: logiso_stop  cd-mount-point-or-file
  349.  
  350.        Stop the logging system.  Deallocate the kernel buffers in which
  351.        the log is kept.
  352.  
  353. Copying:
  354.   
  355.    Everyone is granted permission to copy and redistribute the files in
  356.    this package provided:
  357.       
  358.         1. No changes are made to any of the files in the distribution and
  359.            all of the files are provided in any copy.
  360.  
  361.     2. No charge is made for this software.  This clause shall not  
  362.        be construed as constraining other software distributed on
  363.        the same medium as this software, nor is a distribution fee
  364.        considered a charge.
  365.  
  366. Disclaimer:
  367.  
  368.    This package is provided as-is.  Michael Coulter makes no express or
  369.    implied warranty of any kind with respect to this package.  Michael
  370.    Coulter shall not be liable for any direct indirect, special, incidental
  371.    or consequential damages (whether based on contract, tort or any other
  372.    legal theory) arising in any way from use of any part of this package.
  373.  
  374. Acknowledgements:
  375.  
  376.    Cam Johnson for suggesting that some users might want the cd_files
  377.    file to be compressed to save space and for looking over the
  378.    implementation.
  379.  
  380. History:
  381.  
  382.    0.1  Initial version exposed to a handful of people.
  383.  
  384.    0.2 * Allow the cd_files file to be compressed to save disk space.
  385.  
  386.        * Support multiple cd-rom drives and/or multiple mirror directories
  387.          with the following features:
  388.  
  389.       * Add the device number in addition to the inode number to
  390.         each log entry.  Provide the device number accessed in the
  391.         header information.  Logiso_get (and therefore logiso_copy
  392.         and logiso_preview) only reports the files on the device
  393.         indicated by mount point.
  394.  
  395.       * Add -d option to logiso_copy and logiso_preview to conveniently
  396.         support multiple cd-rom's or separate mirror directories.   
  397.  
  398.    0.3 * Added copyright notices.  Copying policy and disclaimer in README.
  399.    
  400. Bugs:
  401.  
  402.    Sometimes accesses to a directory will continue to be logged after
  403.    the directory has been mirrored with a directory of symbolic links.
  404.  
  405.    My best guess is that in some cases, a link to a file on the 
  406.    cd-rom results in an access to the directory on the cd-rom which
  407.    contains the file.  Replacing the link with a copy of the
  408.    file (or a directory filled with links if the file is a directory)
  409.    eliminates the access to the cd-rom.  The hard part is figuring out
  410.    which file is involved because only the directory containing it is
  411.    logged.
  412.  
  413.    1.  /mnt/system_cd/usr/lib/emacs/19.25/lisp/term/x-win.elc showed up
  414.        in the log, but after it was installed, the link
  415.        /mnt/system_cd/usr/lib/emacs/19.25/lisp/term/x-win.el was  causing
  416.        a cd-rom access but only its directory was logged.
  417.  
  418.        This seems to be a general property.  I have added a kludge to
  419.        mirror a .el file (if it exists) when a .elc file is mirrored in.
  420.  
  421.    2. Files which were not logged but which resulted in accesses to the
  422.       directory which contained them:
  423.  
  424.       Simple files:
  425.  
  426.         WHAT                        WHY
  427.         =====================                ==========
  428.         *.el files as from note #1.            emacs
  429.           /system_cd/usr/bin/look                emacs
  430.           /system_cd/usr/dict/words            emacs
  431.           /system_cd/usr/lib/emacs/19.25/etc/GNU        emacs
  432.  
  433.       Directories:
  434.  
  435.         /system_cd/usr/packages/interviews/bin/LINUX    PATH string
  436.     /system_cd/usr/lib/emacs/19.25/i486-linux    emacs
  437.     /system_cd/usr/packages/sound/man        MANPATH
  438.     /system_cd/usr/packages/pbm/man            MANPATH
  439.     /system_cd/usr/packages/openwin/man        MANPATH
  440.     /system_cd/usr/packages/interviews/man        MANPATH
  441.     /system_cd/usr/packages/andrew/man        MANPATH
  442.     /system_cd/usr/X11/man                MANPATH
  443. @
  444.  
  445.  
  446. 1.6
  447. log
  448. @Checkin files modified to make version 0.2
  449. @
  450. text
  451. @d4 1
  452. d22 2
  453. d298 21
  454. d342 2
  455. d347 3
  456. a349 1
  457.    Sometimes I can't figure out why a file access isn't getting logged.  
  458. d354 3
  459. a356 1
  460.    eliminates the access to the cd-rom.
  461. a362 1
  462.  
  463. d371 6
  464. a376 4
  465.         *.el files as from note #1.
  466.           /system_cd/usr/bin/look
  467.           /system_cd/usr/dict/words
  468.           /system_cd/usr/lib/emacs/19.25/etc/GNU
  469. d380 8
  470. a387 8
  471.         /system_cd/usr/packages/interviews/bin/LINUX.
  472.     /system_cd/usr/lib/emacs/19.25/i486-linux
  473.     /system_cd/usr/packages/sound/man
  474.     /system_cd/usr/packages/pbm/man
  475.     /system_cd/usr/packages/openwin/man
  476.     /system_cd/usr/packages/interviews/man
  477.     /system_cd/usr/packages/andrew/man
  478.     /system_cd/usr/X11/man
  479. @
  480.  
  481.  
  482. 1.5
  483. log
  484. @Checkpoint files.  Can now compress cd_files.
  485. @
  486. text
  487. @d1 1
  488. a1 8
  489.  
  490. TODO:
  491.     make provisions for multiple cd-rom drives
  492.         log device number also
  493.         separate config files
  494.         ? some option to simply pick different config files
  495.         -d cd_prefix
  496.  
  497. d14 1
  498. a15 1
  499.    Using check_links:
  500. d21 2
  501. d32 1
  502. a32 1
  503.    the files which you use on a cd-rom and leave symbolic links for the
  504. d57 4
  505. d70 2
  506. a71 2
  507.          to your hard disk.  Repeat steps 2 and 3 before proceeding with
  508.          step 5.
  509. d97 2
  510. a98 1
  511.       Follow the directions in the subsections to complete the installation.
  512. d136 2
  513. d142 4
  514. d150 1
  515. a150 1
  516.       In the /usr/src/linux/fs/isofs directory, execute:
  517. d178 4
  518. a181 9
  519.      /mnt/system_cd and made /system_cd a directory with symbolic
  520.      links to the top-level files and directories in /mnt/system_cd.
  521.      The symbolic links that were created to access files under
  522.      /system_cd still work.  As files and directories are migrated
  523.      under /system_cd, these accesses will access files on the hard
  524.      disk instead of files on the cd-rom.  I found that I had to
  525.      make a link from /mnt/var to /var because some links on the
  526.      cd-rom were accessing var through ../../var  (the link assumed
  527.      that var was a sibling of the mount point).
  528. d188 14
  529. d204 10
  530. a213 9
  531.          The path to the cd_files file is set in the config file.  It
  532.          defaults to "cd_files" in the isofs/Utils directory.  It contains
  533.          a list of all the files on the cd-rom and the inode number of each
  534.          file.
  535.  
  536.          If you are want to save disk space, you can compress the cd_files
  537.          file.  It will be uncompressed for use and then compressed again
  538.          afterwards.  This will take some time.  If you are using 
  539.          logiso_copy frequently, you will want to uncompress the file.
  540. d222 9
  541. a230 3
  542.    You are now ready to use the utilities.  See the scenario in the
  543.    "Overview" section and the descriptions in the following
  544.    "Using the logiso utilities" section.
  545. d239 1
  546. a239 1
  547.    you use logiso_copy.  In any case, you can repeate the operation
  548. d242 2
  549. a243 3
  550.    Sometimes you will install a file or directory under your mirror
  551.    directory, but the cd-rom file will continue to be accessed.  Typically
  552.    this is caused by some sort of symbolic link.
  553. a244 5
  554.    For example, on my cd-rom, /mnt/system_cd/usr/X11 and 
  555.    /mnt/system_cd/usr/X386 are symbolic links to the X11R6 directory.
  556.    Once the X11R6 directory is installed under the mirror directory,
  557.    the X11 and X386 symbolic links should be updated to point at the
  558.    directory under the mirror directory.  Executing:
  559. d246 1
  560. a246 1
  561.        check_links    /mirror/directory/path
  562. d248 1
  563. a248 1
  564.    will resolve most of these problems.  (It is very slow!)
  565. d250 5
  566. a254 2
  567.    You are on your own for discovering how the remaining accesses come
  568.    about.
  569. a255 1
  570.    See also the "Bugs" section at the end.
  571. a256 2
  572.    Using check_links:
  573.    Using logiso_copy:
  574. d258 30
  575. a287 2
  576. +  Using logiso_init:
  577. +  Using logiso_preview:
  578. d290 6
  579. a295 3
  580.    !!!???!!! - usage sections not written, * commands don't exist
  581.    
  582. Bugs:
  583. d297 3
  584. a299 1
  585.    1. In one instance I know of an access to the cd-rom which was not logged.
  586. d301 1
  587. a301 5
  588.       The directory, /usr/packages/interviews/bin/LINUX, is in my PATH
  589.       string.  During the login process the directory is searched.  All
  590.       of the directory paths leading up to it were logged, but after 
  591.       /system_cd/usr/packages/interviews, there was no entry
  592.       for /usr/packages/interviews/bin/LINUX.
  593. d303 1
  594. a303 1
  595.       I can't explain this.
  596. d305 1
  597. a305 4
  598.    2.  /mnt/system_cd/usr/lib/emacs/19.25/lisp/term/x-win.elc showed up
  599.        in the log, but after it was installed, 
  600.        /mnt/system_cd/usr/lib/emacs/19.25/lisp/term/x-win.el was still
  601.        acessed but not logged.  This seems to be a general property.
  602. d307 2
  603. a308 2
  604. *      Perhaps I will add a kludge to mirror a .el file (if it exists) when 
  605.        a .elc file is mirrored in.
  606. d310 5
  607. a314 1
  608.        I can't resolve all of the file accesses when I run emacs.
  609. d316 4
  610. a319 1
  611.    Sometimes I can't figure out why a file access isn't getting logged.   
  612. d321 36
  613. @
  614.  
  615.  
  616. 1.4
  617. log
  618. @checkpoint file
  619. @
  620. text
  621. @d4 4
  622. a7 1
  623.     compress the cd_files file to save disk space
  624. d19 1
  625. d186 12
  626. @
  627.  
  628.  
  629. 1.3
  630. log
  631. @Checkpoint version 0.1
  632. @
  633. text
  634. @d2 4
  635. d110 1
  636. a110 1
  637.            (which 40K bytes) which hold the log information.
  638. d254 1
  639. a254 1
  640.    Sometimes I can't figure out why a file access is getting logged.   
  641. @
  642.  
  643.  
  644. 1.2
  645. log
  646. @Checkpoint file.  Editing.
  647. @
  648. text
  649. @d2 1
  650. d25 3
  651. d33 3
  652. a35 3
  653.    to provide logging disk activity on a iso-9660 cd-rom file system.
  654.    The package also contains utilities migrate files which appear in the
  655.    log to your hard disk.
  656. d48 1
  657. a48 1
  658.       2. Clear the existing log so that you wont install other files.
  659. a71 13
  660.    Kernel changes:
  661.       Turning off logging:
  662.    Logiso utilities:
  663.       Setting up find_links:
  664.       The config file:
  665.       Setting up the mirror directory:
  666.  
  667.    Kernel changes:
  668.       Turning off logging:
  669.  
  670.          !!!???!!!
  671.  
  672.    Logiso utilities:
  673. d78 3
  674. d82 2
  675. a83 1
  676.        mv
  677. d86 1
  678. d88 1
  679. a88 1
  680.       The directories RCS an Utils will be created.  
  681. d94 18
  682. d118 16
  683. a134 3
  684.       Setting up find_links:
  685.       The config file:
  686.       Setting up the mirror directory:
  687. d136 1
  688. a136 1
  689.       As root, in the /usr/src/linux/fs/isofs directory, execute:
  690. d156 3
  691. a158 3
  692.      cd-rom rather than using the root directory to mirror the 
  693.      cd-rom.  It will make it easier to account for disk space
  694.      usage and to back out changes you make to migrate files to your
  695. d161 2
  696. a162 2
  697.      Here is the setup I use.  The Walnut Creed CD-ROM edition of 
  698.      Yggdrasil Plug-and-Play Linux  installs itself with /system_cd
  699. d164 14
  700. a177 6
  701.      /mnt/system_cd and made /system_cd a directory with symbolic links
  702.      to the top-level files and directories in /mnt/system_cd.  The
  703.      symbolic links that were created to access files under /system_cd
  704.      still work and as files and directories are migrated into
  705.      /system_cd, these accesses will access files on the hard disk
  706.      instead of files on the cd-rom.
  707. a191 6
  708.    Using check_links:
  709.    Using logiso_copy:
  710.    Using logiso_get:
  711. *  Using logiso_init:
  712. *  Using logiso_preview:
  713.    Using logiso_stop:
  714. d195 5
  715. d208 1
  716. a208 3
  717.    directory under the mirror directory.  
  718.  
  719.    Executing:
  720. d212 1
  721. a212 1
  722.    will uncover most of these problems.  
  723. d222 2
  724. a223 2
  725.    Using logiso_init:
  726.    Using logiso_preview:
  727. d226 1
  728. d238 1
  729. a238 11
  730.       I can't explain this.  It may have something to do with the ext2 
  731.       file system and details such as the fact that LINUX is the only 
  732.       non-symbolic link entry in the 
  733.       /system_cd/usr/packages/interviews/bin directory.
  734.  
  735.  
  736. ========================================================================
  737.  
  738. I have implemented a scheme to log inode numbers accessed through the
  739. isofs file system so that I can figure out what files to migrate to my 
  740. hard disk.
  741. d240 4
  742. a243 5
  743. Features:
  744.    Ioctl calls to:
  745.        stop logging, and deallocate log buffers
  746.        get the size of the buffer to allocate to read the log
  747.        read the log information and empty the log.
  748. d245 2
  749. a246 2
  750.    The log is on by default at boot so you can find out what happens 
  751.    from the start.
  752. d248 1
  753. a248 2
  754.    You can make an ioctl call to turn off logging which will also free
  755.    up the log buffers (about 40K).
  756. d250 1
  757. a250 29
  758.    Getting the size of the buffer to allocate or reading the buffer will
  759.    turn on logging if it is off.
  760.  
  761. The following files were modified (ioctl.c is new):
  762.  
  763.    Makefile
  764.    dir.c
  765.    file.c
  766.    inode.c
  767.    ioctl.c
  768.    iso_fs.h
  769.    namei.c
  770.  
  771. The following are also included:
  772.  
  773.    RCS            RCS history of the above files.
  774.    logiso_get.c        get the log.  (and turn it on)
  775.    logiso_stop.c    turn off logging
  776.  
  777.  
  778. BUGS
  779.  
  780.    1. In one instance I know of an access to the cd-rom which was not logged.
  781.  
  782.       The directory, /usr/packages/interviews/bin/LINUX, is in my PATH
  783.       string.  During the login process the directory is searched.  All
  784.       of the directory paths leading up to it were logged, but after 
  785.       /system_cd/usr/packages/interviews, there was no entry
  786.       for /usr/packages/interviews/bin/LINUX.
  787. a251 4
  788.       I can't explain this.  It may have something to do with the ext2 
  789.       file system and details such as the fact that LINUX is the only 
  790.       non-symbolic link entry in the 
  791.       /system_cd/usr/packages/interviews/bin directory.
  792. @
  793.  
  794.  
  795. 1.1
  796. log
  797. @Initial revision
  798. @
  799. text
  800. @d2 211
  801. @
  802.